package com.jrx.anytxn.transaction.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 *  
 * 表:am_waive_repayment_plan_info 
 * @author mac 
 * @date 2020-08-06 
 */
public class AmWaiveRepaymentPlanInfo {
    /**
     * 主键
     * 表字段:id
     */
    private Long id;

    /**
     * 贷款订单id
     * 表字段:loan_id
     */
    private String loanId;

    /**
     * 租户id
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 第几期
     * 表字段:billing_tenor
     */
    private Integer billingTenor;

    /**
     * 机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 渠道id
     * 表字段:channel
     */
    private String channel;

    /**
     * 	分期状态(0-未抛 1-正常 2-逾期 7-提前结清 8-正常结清 9-取消)
     * 表字段:plan_status
     */
    private String planStatus;

    /**
     * 产品id
     * 表字段:product_id
     */
    private String productId;

    /**
     * 客户id
     * 表字段:customer_id
     */
    private String customerId;

    /**
     * 当期总金额
     * 表字段:total_amount
     */
    private BigDecimal totalAmount;

    /**
     * 当期本金
     * 表字段:principal_amount
     */
    private BigDecimal principalAmount;

    /**
     * 当期利息
     * 表字段:interest_amount
     */
    private BigDecimal interestAmount;

    /**
     * 当期费用
     * 表字段:fee_amount
     */
    private BigDecimal feeAmount;

    /**
     * 当期已还本金
     * 表字段:repay_principal
     */
    private BigDecimal repayPrincipal;

    /**
     * 当期已还利息
     * 表字段:repay_interest
     */
    private BigDecimal repayInterest;

    /**
     * 当期已还费用
     * 表字段:repay_fee
     */
    private BigDecimal repayFee;

    /**
     * 还款日
     * 表字段:payment_due_date
     */
    private Date paymentDueDate;

    /**
     * 还款交易日期
     * 表字段:transaction_date
     */
    private Date transactionDate;

    /**
     * 结清日期
     * 表字段:payoff_date
     */
    private Date payoffDate;

    /**
     * 起息日
     * 表字段:intr_start_date
     */
    private Date intrStartDate;

    /**
     * 债务归属
     * 表字段:liability_flag
     */
    private String liabilityFlag;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 记录版本号
     * 表字段:record_version_number
     */
    private Integer recordVersionNumber;

    /**
     * 执行日利率
     * 表字段:actual_daily_rate
     */
    private BigDecimal actualDailyRate;

    /**
     * 获取主键
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键
     * @param id 主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取贷款订单id
     * @return loanId String
     */
    public String getLoanId() {
        return loanId;
    }

    /**
     * 设置贷款订单id
     * @param loanId 贷款订单id
     */
    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    /**
     * 获取租户id
     * @return tenantId String
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 设置租户id
     * @param tenantId 租户id
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /**
     * 获取第几期
     * @return billingTenor Integer
     */
    public Integer getBillingTenor() {
        return billingTenor;
    }

    /**
     * 设置第几期
     * @param billingTenor 第几期
     */
    public void setBillingTenor(Integer billingTenor) {
        this.billingTenor = billingTenor;
    }

    /**
     * 获取机构号
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置机构号
     * @param organizationId 机构号
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    /**
     * 获取渠道id
     * @return channel String
     */
    public String getChannel() {
        return channel;
    }

    /**
     * 设置渠道id
     * @param channel 渠道id
     */
    public void setChannel(String channel) {
        this.channel = channel;
    }

    /**
     * 获取	分期状态(0-未抛 1-正常 2-逾期 7-提前结清 8-正常结清 9-取消)
     * @return planStatus String
     */
    public String getPlanStatus() {
        return planStatus;
    }

    /**
     * 设置	分期状态(0-未抛 1-正常 2-逾期 7-提前结清 8-正常结清 9-取消)
     * @param planStatus 	分期状态(0-未抛 1-正常 2-逾期 7-提前结清 8-正常结清 9-取消)
     */
    public void setPlanStatus(String planStatus) {
        this.planStatus = planStatus;
    }

    /**
     * 获取产品id
     * @return productId String
     */
    public String getProductId() {
        return productId;
    }

    /**
     * 设置产品id
     * @param productId 产品id
     */
    public void setProductId(String productId) {
        this.productId = productId;
    }

    /**
     * 获取客户id
     * @return customerId String
     */
    public String getCustomerId() {
        return customerId;
    }

    /**
     * 设置客户id
     * @param customerId 客户id
     */
    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    /**
     * 获取当期总金额
     * @return totalAmount BigDecimal
     */
    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    /**
     * 设置当期总金额
     * @param totalAmount 当期总金额
     */
    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    /**
     * 获取当期本金
     * @return principalAmount BigDecimal
     */
    public BigDecimal getPrincipalAmount() {
        return principalAmount;
    }

    /**
     * 设置当期本金
     * @param principalAmount 当期本金
     */
    public void setPrincipalAmount(BigDecimal principalAmount) {
        this.principalAmount = principalAmount;
    }

    /**
     * 获取当期利息
     * @return interestAmount BigDecimal
     */
    public BigDecimal getInterestAmount() {
        return interestAmount;
    }

    /**
     * 设置当期利息
     * @param interestAmount 当期利息
     */
    public void setInterestAmount(BigDecimal interestAmount) {
        this.interestAmount = interestAmount;
    }

    /**
     * 获取当期费用
     * @return feeAmount BigDecimal
     */
    public BigDecimal getFeeAmount() {
        return feeAmount;
    }

    /**
     * 设置当期费用
     * @param feeAmount 当期费用
     */
    public void setFeeAmount(BigDecimal feeAmount) {
        this.feeAmount = feeAmount;
    }

    /**
     * 获取当期已还本金
     * @return repayPrincipal BigDecimal
     */
    public BigDecimal getRepayPrincipal() {
        return repayPrincipal;
    }

    /**
     * 设置当期已还本金
     * @param repayPrincipal 当期已还本金
     */
    public void setRepayPrincipal(BigDecimal repayPrincipal) {
        this.repayPrincipal = repayPrincipal;
    }

    /**
     * 获取当期已还利息
     * @return repayInterest BigDecimal
     */
    public BigDecimal getRepayInterest() {
        return repayInterest;
    }

    /**
     * 设置当期已还利息
     * @param repayInterest 当期已还利息
     */
    public void setRepayInterest(BigDecimal repayInterest) {
        this.repayInterest = repayInterest;
    }

    /**
     * 获取当期已还费用
     * @return repayFee BigDecimal
     */
    public BigDecimal getRepayFee() {
        return repayFee;
    }

    /**
     * 设置当期已还费用
     * @param repayFee 当期已还费用
     */
    public void setRepayFee(BigDecimal repayFee) {
        this.repayFee = repayFee;
    }

    /**
     * 获取还款日
     * @return paymentDueDate Date
     */
    public Date getPaymentDueDate() {
        return paymentDueDate;
    }

    /**
     * 设置还款日
     * @param paymentDueDate 还款日
     */
    public void setPaymentDueDate(Date paymentDueDate) {
        this.paymentDueDate = paymentDueDate;
    }

    /**
     * 获取还款交易日期
     * @return transactionDate Date
     */
    public Date getTransactionDate() {
        return transactionDate;
    }

    /**
     * 设置还款交易日期
     * @param transactionDate 还款交易日期
     */
    public void setTransactionDate(Date transactionDate) {
        this.transactionDate = transactionDate;
    }

    /**
     * 获取结清日期
     * @return payoffDate Date
     */
    public Date getPayoffDate() {
        return payoffDate;
    }

    /**
     * 设置结清日期
     * @param payoffDate 结清日期
     */
    public void setPayoffDate(Date payoffDate) {
        this.payoffDate = payoffDate;
    }

    /**
     * 获取起息日
     * @return intrStartDate Date
     */
    public Date getIntrStartDate() {
        return intrStartDate;
    }

    /**
     * 设置起息日
     * @param intrStartDate 起息日
     */
    public void setIntrStartDate(Date intrStartDate) {
        this.intrStartDate = intrStartDate;
    }

    /**
     * 获取债务归属
     * @return liabilityFlag String
     */
    public String getLiabilityFlag() {
        return liabilityFlag;
    }

    /**
     * 设置债务归属
     * @param liabilityFlag 债务归属
     */
    public void setLiabilityFlag(String liabilityFlag) {
        this.liabilityFlag = liabilityFlag;
    }

    /**
     * 获取创建时间
     * @return createTime Date
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取最后更新时间
     * @return updateTime Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置最后更新时间
     * @param updateTime 最后更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取最后更新操作员
     * @return updateBy String
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置最后更新操作员
     * @param updateBy 最后更新操作员
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取记录版本号
     * @return recordVersionNumber Integer
     */
    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    /**
     * 设置记录版本号
     * @param recordVersionNumber 记录版本号
     */
    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }

    /**
     * 获取执行日利率
     * @return actualDailyRate BigDecimal
     */
    public BigDecimal getActualDailyRate() {
        return actualDailyRate;
    }

    /**
     * 设置执行日利率
     * @param actualDailyRate 执行日利率
     */
    public void setActualDailyRate(BigDecimal actualDailyRate) {
        this.actualDailyRate = actualDailyRate;
    }
}